home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / etc / hotplug / scsi.agent < prev    next >
Text File  |  2006-05-01  |  1KB  |  70 lines

  1. #!/bin/sh
  2. #
  3. # SCSI hotplug agent for 2.5 kernels 
  4. #
  5. #    ACTION=add
  6. #    DEVPATH=devices/scsi0/0:0:0:0
  7. #
  8.  
  9. cd /etc/hotplug
  10. . ./hotplug.functions
  11.  
  12. case $ACTION in
  13.  
  14. add)
  15.     # 2.5.50 kernel bug: this happens sometimes
  16.     if [ ! -d /sys/$DEVPATH ]; then
  17.     mesg "bogus sysfs DEVPATH=$DEVPATH"
  18.     exit 1
  19.     fi
  20.  
  21.     TYPE_ATTR=/sys$DEVPATH/type
  22.  
  23.     # Possibly sleep here to try and avoid races with scsi attributes and block
  24.     # devices
  25.     count=120
  26.     while [ ! -f $TYPE_ATTR ] && [ $count -gt 0 ]
  27.     do
  28.     # We seem to always hit this now, so don't output any message.
  29.     debug_mesg "waiting for $TYPE_ATTR"
  30.     sleep 1
  31.     count=$(($count-1))
  32.     done
  33.  
  34.     if [ ! -f $TYPE_ATTR ]
  35.     then
  36.         mesg "Attribute $TYPE_ATTR does not exist"
  37.     exit 1
  38.     fi
  39.  
  40.     TYPE=$(cat $TYPE_ATTR) 
  41.     case "$TYPE" in
  42.     # 2.5.51 style attributes; <scsi/scsi.h> TYPE_* constants
  43.     0)        TYPE=disk ; MODULE=sd_mod ;;
  44.     # FIXME some tapes use 'osst' not 'st'
  45.     1)        TYPE=tape ; MODULE=st ;;
  46.     2)        TYPE=printer ;;
  47.     3)        TYPE=processor ;;
  48.     4)        TYPE=worm ; MODULE=sr_mod ;;
  49.     5)        TYPE=cdrom ; MODULE=sr_mod ;;
  50.     6)        TYPE=scanner ;;
  51.     7)        TYPE=mod ; MODULE=sd_mod ;;
  52.     8)        TYPE=changer ;;
  53.     9)        TYPE=comm ;;
  54.     14)        TYPE=enclosure ;;
  55.     esac
  56.     if [ "$MODULE" != "" ]; then
  57.     mesg "$TYPE at $DEVPATH"
  58.     modprobe $MODULE
  59.     else
  60.     debug_mesg "how to add device type=$TYPE at $DEVPATH ??"
  61.     fi
  62.     ;;
  63.  
  64. *)
  65.     debug_mesg SCSI $ACTION event not supported
  66.     exit 1
  67.     ;;
  68.  
  69. esac
  70.